BDD / ATDD

Ну признайтесь честно – кто знает, что означают эти аббревиатуры? 🙂

. . .

Проникся идеями автоматического тестирования.
И в частности, BDD (behaviour driven development) и ATDD (acceptance testing driven development).
Ну да, я знаю, что это как бы не совсем automated testing, но тем не менее – для нас, неспециалистов, это всё на одно лицо.

Идея проста – перед началом программирования изучаются требования к задаче (business requirements), и на основе них пишутся ряд тестов, которым должна удовлетворять система.

Например: мы должны иметь возможность зарегистрироваться, ввести свою кредитную карточку, выбрать вот этот продукт, оплатить, с карточки должна списаться такая-то сумма, а мы должны после этого иметь возможность получить куда-то там доступ.

И таких тест-кейсов пишем кучу (ну реально много), включая ошибочные сценарии, с пониманием того, что мы должны получить в случае ошибки. Ну и конечно, с возможностью все тесты прогнать в автоматическом режиме, по нажатию одной кнопки (запуску одной команды в консоли).

Прогоняем все тесты – разумеется, всё сначала должно не работать, т.к. программы как таковой ещё нет.
И цель программирования – сделать так, чтоб все тесты завершились успешно.

Чуть-чуть другая парадигма программирования получается – не “программирование, потом тестирование”, а “тестирование, а потом программирование”.

Возможно, все так давно уже и делают, а это до меня только дошло, но правда – я так раньше никогда не делал, а здесь до того понравилась эта идея, что дальше буду именно так и делать.

Специалист по Есенину

Leave a Reply

You must be logged in to post a comment.